<h3>保存插件数据</h3>
<p>
    很多插件需要管理员或用户输入一些信息以便下次会话时使用这些数据，此时就必须保存这些数据，以下是保存数据的 3 种方法：
</p>

<ol>
    <li>
        用户设置：此方法可由开发者利用 opts.php 配置，配置后该文件后，管理后台的插件管理中，会自动生成用户设置表单，用户设置后，数据将会保存到插件目录的 opts.json 文集中。在插件运行时，这些数据将会自动读取到插件对象中。详情请查看 <a href="{$BG_URL_HELP}index.php?m=plugin&a=programming#opts">编写插件</a> 和 <a href="{$BG_URL_HELP}index.php?m=plugin&a=obj_plugin#opts">插件对象</a> 的相应说明。
    </li>
    <li>
        生成静态缓存：此方法可由开发者利用 <a href="http://www.php.net/manual/zh/book.filesystem.php" target="_blank">PHP 的 Filesystem</a> 生成静态的 json 等文件来保存数据，必要的时候再读取数据。文件建议保存在插件目录中，为了简化插件路径的获取，系统内置了一个常量来定义常见目录，开发者可随时调用，该常量名称为 <code>BG_PATH_PLUGIN</code>，例如：<code>$path = BG_PATH_PLUGIN . 'hello/';</code>。另外，系统也内置了一个操作文件和目录的文件类，在需要时，随时可以实例化该类，该类名称为 <code>CLASS_FILE</code>，例如：<code>$obj_file = new CLASS_FILE();</code>，关于该类的具体说明请查看 <a href="{$BG_URL_HELP}index.php?m=plugin&a=class_file">文件系统类</a>。
    </li>
    <li>
        保存至数据库：此方法可利用系统内置的全局对象将数据直接保存至数据库，该对象名称为 <code>$GLOBALS['obj_db']</code>，开发者可随时利用该对象操作数据库，关于该对象的具体说明请查看 <a href="{$BG_URL_HELP}index.php?m=plugin&a=obj_db">数据库对象</a>。
    </li>
</ol>
